線性搜尋法可以說是最容易理解的搜尋演算法了,相信大家都有過類似的經驗,在圖書館裡想在書架上找一本書"湯姆歷險記",假如書本都是未經排序的,就必須一本一本慢慢的找,直到找到要找的書為止,所以以程式碼來說,就會以迴圈遍歷的方式,一步一步的檢查當前的項目是否為要找的對象 ,如果找不到就會回傳 -1。
用js實作線性搜尋法
const linearSearch = (arr, num) => {
for (let i = 0; i < arr.length; i++) {
if (arr[i] === num) return i;
}
return -1;
};
幸運的話有可能第一個值就是要找的對象,所以找一次O(1)就結束了,反之如果運氣不好,目標在最後一個,就要從從頭找到尾O(n)。